package top.jacktgq.sxt.bio.ChatRoom.version2;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * @Author CandyWall
 * @Date 2019/10/22--18:45
 * @Description 在线聊天室：服务器
 *              目标：实现一个服务器可以正常收发多条消息
 */
public class ChatServer {
    public static void main(String[] args) throws IOException {
        System.out.println("服务器启动...");
        //1、指定端口 使用ServerSocket创建服务器
        ServerSocket serverSocket = new ServerSocket(8888);
        //2、阻塞式等待连接accept
        Socket server = serverSocket.accept();
        System.out.println("一个客户端建立了连接");
        //3、接收客户端发送的消息
        DataInputStream dis = new DataInputStream(server.getInputStream());
        DataOutputStream dos = new DataOutputStream(server.getOutputStream());
        Boolean isRunning = true;
        while (isRunning) {
            String content = dis.readUTF();
            System.out.println("客户端发来：" +  content);
            //4、返回消息
            dos.writeUTF(content);
            dos.flush();
        }

        //释放资源
        dis.close();
        dos.close();
        server.close();
        serverSocket.close();
    }
}
